////测试文档20250705 16：30
//
//package com.example.demo;
//
//import com.example.demo.controller.UserController;
//import com.example.demo.model.User;
//import com.example.demo.service.UserService;
//import org.junit.jupiter.api.BeforeEach;
//import org.junit.jupiter.api.Test;
//import org.mockito.InjectMocks;
//import org.mockito.Mock;
//import org.mockito.MockitoAnnotations;
//import org.springframework.http.ResponseEntity;
//
//import java.util.HashMap;
//import java.util.Map;
//
//import static org.junit.jupiter.api.Assertions.*;
//import static org.mockito.Mockito.*;
//
//class UserControllerTest {
//
//    @Mock
//    private UserService userService;
//
//    @InjectMocks
//    private UserController userController;
//
//    @BeforeEach
//    void setUp() {
//        MockitoAnnotations.openMocks(this);
//    }
//
//    @Test
//    void testLoginSuccess() {
//        String userId = "13800138000";
//        User mockUser = new User();
//        mockUser.setUserId(userId);
//
//        when(userService.login(userId)).thenReturn(mockUser);
//
//        Map<String, String> request = new HashMap<>();
//        request.put("user_id", userId);
//
//        ResponseEntity<Map<String, Object>> response = userController.login(request);
//
//        assertEquals(200, response.getStatusCodeValue());
//        assertTrue((Boolean) response.getBody().get("result"));
//        assertNotNull(response.getBody().get("token"));
//    }
//
//    @Test
//    void testGetUserInfoWithValidToken() {
//        String userId = "13800138000";
//        String token = "valid-token";
//
//        User mockUser = new User();
//        mockUser.setUserId(userId);
//
//        // 先设置token
//        userController.login(new HashMap<>() {{ put("user_id", userId); }});
//        // 获取实际生成的token
//        String actualToken = (String) userController.login(new HashMap<>() {{ put("user_id", userId); }}).getBody().get("token");
//
//        when(userService.getUserInfo(userId)).thenReturn(mockUser);
//
//        ResponseEntity<Map<String, Object>> response = userController.getUserInfo(userId, actualToken);
//
//        assertEquals(200, response.getStatusCodeValue());
//        assertTrue((Boolean) response.getBody().get("result"));
//        assertEquals(userId, response.getBody().get("user_id"));
//    }
//}